﻿///////////////////////////////////////////////////////////////
// This is generated code. 
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 3.5
// Code is generated on: Monday, December 17, 2012 11:21:24 AM
// Code is generated using templates: SD.TemplateBindings.SharedTemplates.NET20
// Templates vendor: Solutions Design.
// Templates version: 
//////////////////////////////////////////////////////////////
using System;
using SD.LLBLGen.Pro.ORMSupportClasses;

namespace WHMS.HelperClasses
{
	
	// __LLBLGENPRO_USER_CODE_REGION_START AdditionalNamespaces
	// __LLBLGENPRO_USER_CODE_REGION_END
	
	/// <summary>Singleton implementation of the FieldInfoProvider. This class is the singleton wrapper through which the actual instance is retrieved.</summary>
	/// <remarks>It uses a single instance of an internal class. The access isn't marked with locks as the FieldInfoProviderBase class is threadsafe.</remarks>
	internal static class FieldInfoProviderSingleton
	{
		#region Class Member Declarations
		private static readonly IFieldInfoProvider _providerInstance = new FieldInfoProviderCore();
		#endregion

		/// <summary>Dummy static constructor to make sure threadsafe initialization is performed.</summary>
		static FieldInfoProviderSingleton()
		{
		}

		/// <summary>Gets the singleton instance of the FieldInfoProviderCore</summary>
		/// <returns>Instance of the FieldInfoProvider.</returns>
		public static IFieldInfoProvider GetInstance()
		{
			return _providerInstance;
		}
	}

	/// <summary>Actual implementation of the FieldInfoProvider. Used by singleton wrapper.</summary>
	internal class FieldInfoProviderCore : FieldInfoProviderBase
	{
		/// <summary>Initializes a new instance of the <see cref="FieldInfoProviderCore"/> class.</summary>
		internal FieldInfoProviderCore()
		{
			Init();
		}

		/// <summary>Method which initializes the internal datastores.</summary>
		private void Init()
		{
			this.InitClass( (39 + 2));
			InitContractorEntityInfos();
			InitCurrencyEntityInfos();
			InitDepositTransactionEntityInfos();
			InitDepositTypeEntityInfos();
			InitInitialBalanceEntityInfos();
			InitInspectionTypeEntityInfos();
			InitInventoryEntityInfos();
			InitInventoryItemEntityInfos();
			InitItemEntityInfos();
			InitItemSupplierEntityInfos();
			InitItemTypeEntityInfos();
			InitProjectEntityInfos();
			InitProjectContractorEntityInfos();
			InitProjectItemPlanEntityInfos();
			InitRetrievalTransactionEntityInfos();
			InitRoleEntityInfos();
			InitShelfEntityInfos();
			InitShelfTypeEntityInfos();
			InitStoreEntityInfos();
			InitStorekeeperEntityInfos();
			InitStoreShelfBalanceEntityInfos();
			InitSupplierEntityInfos();
			InitSupplyOrderEntityInfos();
			InitSupplyOrderItemEntityInfos();
			InitTransactionEntityInfos();
			InitTransactionItemEntityInfos();
			InitTransferRequestEntityInfos();
			InitTransferRequestItemEntityInfos();
			InitTransferTransactionEntityInfos();
			InitUnitEntityInfos();
			InitUnitConverterEntityInfos();
			InitUnitTypeEntityInfos();
			InitUserEntityInfos();
			InitUserRoleEntityInfos();
			InitWithdrawalTypeEntityInfos();
			InitWithdrawRequestEntityInfos();
			InitWithdrawRequestItemEntityInfos();
			InitWithdrawTransactionEntityInfos();
			InitWithdrawzPartyEntityInfos();
			InitItemViewTypedViewInfos();
			InitLookupTypedViewInfos();
			this.ConstructElementFieldStructures(InheritanceInfoProviderSingleton.GetInstance());
		}

		/// <summary>Inits ContractorEntity's FieldInfo objects</summary>
		private void InitContractorEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ContractorFieldIndex), "ContractorEntity");
			this.AddElementFieldInfo("ContractorEntity", "AccountingNumber", typeof(System.String), false, false, false, false,  (int)ContractorFieldIndex.AccountingNumber, 50, 0, 0);
			this.AddElementFieldInfo("ContractorEntity", "Address", typeof(System.String), false, false, false, true,  (int)ContractorFieldIndex.Address, 200, 0, 0);
			this.AddElementFieldInfo("ContractorEntity", "Code", typeof(System.String), false, false, false, false,  (int)ContractorFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("ContractorEntity", "ContactPerson", typeof(System.String), false, false, false, true,  (int)ContractorFieldIndex.ContactPerson, 50, 0, 0);
			this.AddElementFieldInfo("ContractorEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ContractorFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ContractorEntity", "Name", typeof(System.String), false, false, false, false,  (int)ContractorFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("ContractorEntity", "PhoneNumber", typeof(System.String), false, false, false, true,  (int)ContractorFieldIndex.PhoneNumber, 20, 0, 0);
			this.AddElementFieldInfo("ContractorEntity", "WithdrawzPartyId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ContractorFieldIndex.WithdrawzPartyId, 0, 0, 10);
		}
		/// <summary>Inits CurrencyEntity's FieldInfo objects</summary>
		private void InitCurrencyEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(CurrencyFieldIndex), "CurrencyEntity");
			this.AddElementFieldInfo("CurrencyEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)CurrencyFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("CurrencyEntity", "Name", typeof(System.String), false, false, false, false,  (int)CurrencyFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("CurrencyEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)CurrencyFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits DepositTransactionEntity's FieldInfo objects</summary>
		private void InitDepositTransactionEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(DepositTransactionFieldIndex), "DepositTransactionEntity");
			this.AddElementFieldInfo("DepositTransactionEntity", "BillOfLadingNmber", typeof(System.String), false, false, false, false,  (int)DepositTransactionFieldIndex.BillOfLadingNmber, 20, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "DepositTypeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)DepositTransactionFieldIndex.DepositTypeId, 0, 0, 10);
			this.AddElementFieldInfo("DepositTransactionEntity", "DriverName", typeof(System.String), false, false, false, false,  (int)DepositTransactionFieldIndex.DriverName, 50, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "ExamDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)DepositTransactionFieldIndex.ExamDate, 0, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "ExamRecordNumber", typeof(System.String), false, false, false, true,  (int)DepositTransactionFieldIndex.ExamRecordNumber, 20, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)DepositTransactionFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("DepositTransactionEntity", "InspectionTypeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)DepositTransactionFieldIndex.InspectionTypeId, 0, 0, 10);
			this.AddElementFieldInfo("DepositTransactionEntity", "IsCoded", typeof(System.Boolean), false, false, false, false,  (int)DepositTransactionFieldIndex.IsCoded, 0, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "IsPriced", typeof(System.Boolean), false, false, false, false,  (int)DepositTransactionFieldIndex.IsPriced, 0, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "PlateNumber", typeof(System.String), false, false, false, false,  (int)DepositTransactionFieldIndex.PlateNumber, 20, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "Ponumber", typeof(System.String), false, false, false, false,  (int)DepositTransactionFieldIndex.Ponumber, 20, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "Prnumber", typeof(System.String), false, false, false, false,  (int)DepositTransactionFieldIndex.Prnumber, 20, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "Status", typeof(System.String), false, false, false, true,  (int)DepositTransactionFieldIndex.Status, 10, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "SupplierId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)DepositTransactionFieldIndex.SupplierId, 0, 0, 10);
			this.AddElementFieldInfo("DepositTransactionEntity", "SupplyOrderNumber", typeof(System.String), false, false, false, false,  (int)DepositTransactionFieldIndex.SupplyOrderNumber, 20, 0, 0);
			this.AddElementFieldInfo("DepositTransactionEntity", "TransactionId", typeof(System.Int32), false, true, false, false,  (int)DepositTransactionFieldIndex.TransactionId, 0, 0, 10);
			this.AddElementFieldInfo("DepositTransactionEntity", "TransactionStatus", typeof(Nullable<System.Int16>), false, false, false, true,  (int)DepositTransactionFieldIndex.TransactionStatus, 0, 0, 5);
			this.AddElementFieldInfo("DepositTransactionEntity", "Type", typeof(System.String), false, false, false, true,  (int)DepositTransactionFieldIndex.Type, 10, 0, 0);
		}
		/// <summary>Inits DepositTypeEntity's FieldInfo objects</summary>
		private void InitDepositTypeEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(DepositTypeFieldIndex), "DepositTypeEntity");
			this.AddElementFieldInfo("DepositTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)DepositTypeFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("DepositTypeEntity", "Name", typeof(System.String), false, false, false, false,  (int)DepositTypeFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("DepositTypeEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)DepositTypeFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits InitialBalanceEntity's FieldInfo objects</summary>
		private void InitInitialBalanceEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(InitialBalanceFieldIndex), "InitialBalanceEntity");
			this.AddElementFieldInfo("InitialBalanceEntity", "Balance", typeof(System.Decimal), false, false, false, false,  (int)InitialBalanceFieldIndex.Balance, 0, 5, 18);
			this.AddElementFieldInfo("InitialBalanceEntity", "CurrentBalance", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)InitialBalanceFieldIndex.CurrentBalance, 0, 5, 18);
			this.AddElementFieldInfo("InitialBalanceEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)InitialBalanceFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("InitialBalanceEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)InitialBalanceFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("InitialBalanceEntity", "ProjectId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)InitialBalanceFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("InitialBalanceEntity", "ShelfId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)InitialBalanceFieldIndex.ShelfId, 0, 0, 10);
			this.AddElementFieldInfo("InitialBalanceEntity", "StoreId", typeof(System.Int32), false, true, false, false,  (int)InitialBalanceFieldIndex.StoreId, 0, 0, 10);
			this.AddElementFieldInfo("InitialBalanceEntity", "UnitPrice", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)InitialBalanceFieldIndex.UnitPrice, 0, 5, 18);
		}
		/// <summary>Inits InspectionTypeEntity's FieldInfo objects</summary>
		private void InitInspectionTypeEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(InspectionTypeFieldIndex), "InspectionTypeEntity");
			this.AddElementFieldInfo("InspectionTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)InspectionTypeFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("InspectionTypeEntity", "Name", typeof(System.String), false, false, false, false,  (int)InspectionTypeFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("InspectionTypeEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)InspectionTypeFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits InventoryEntity's FieldInfo objects</summary>
		private void InitInventoryEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(InventoryFieldIndex), "InventoryEntity");
			this.AddElementFieldInfo("InventoryEntity", "CountDate", typeof(System.DateTime), false, false, false, false,  (int)InventoryFieldIndex.CountDate, 0, 0, 0);
			this.AddElementFieldInfo("InventoryEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)InventoryFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("InventoryEntity", "StoreId", typeof(System.Int32), false, false, false, false,  (int)InventoryFieldIndex.StoreId, 0, 0, 10);
		}
		/// <summary>Inits InventoryItemEntity's FieldInfo objects</summary>
		private void InitInventoryItemEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(InventoryItemFieldIndex), "InventoryItemEntity");
			this.AddElementFieldInfo("InventoryItemEntity", "Comment", typeof(System.String), false, false, false, true,  (int)InventoryItemFieldIndex.Comment, 300, 0, 0);
			this.AddElementFieldInfo("InventoryItemEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)InventoryItemFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("InventoryItemEntity", "InventoryId", typeof(System.Int32), false, true, false, false,  (int)InventoryItemFieldIndex.InventoryId, 0, 0, 10);
			this.AddElementFieldInfo("InventoryItemEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)InventoryItemFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("InventoryItemEntity", "QuantityCounted", typeof(System.Decimal), false, false, false, false,  (int)InventoryItemFieldIndex.QuantityCounted, 0, 5, 18);
			this.AddElementFieldInfo("InventoryItemEntity", "Quantitystored", typeof(System.Decimal), false, false, false, false,  (int)InventoryItemFieldIndex.Quantitystored, 0, 5, 18);
			this.AddElementFieldInfo("InventoryItemEntity", "Result", typeof(System.String), false, false, false, true,  (int)InventoryItemFieldIndex.Result, 50, 0, 0);
			this.AddElementFieldInfo("InventoryItemEntity", "ShelfId", typeof(System.Int32), false, true, false, false,  (int)InventoryItemFieldIndex.ShelfId, 0, 0, 10);
		}
		/// <summary>Inits ItemEntity's FieldInfo objects</summary>
		private void InitItemEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ItemFieldIndex), "ItemEntity");
			this.AddElementFieldInfo("ItemEntity", "BarCode", typeof(System.String), false, false, false, true,  (int)ItemFieldIndex.BarCode, 2147483647, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "Code", typeof(System.String), false, false, false, false,  (int)ItemFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "Description", typeof(System.String), false, false, false, true,  (int)ItemFieldIndex.Description, 300, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ItemFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ItemEntity", "Name", typeof(System.String), false, false, false, false,  (int)ItemFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "OriginalBarCode", typeof(System.String), false, false, false, true,  (int)ItemFieldIndex.OriginalBarCode, 2147483647, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "Type", typeof(System.String), false, false, false, true,  (int)ItemFieldIndex.Type, 10, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "TypeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ItemFieldIndex.TypeId, 0, 0, 10);
			this.AddElementFieldInfo("ItemEntity", "Unit", typeof(System.String), false, false, false, true,  (int)ItemFieldIndex.Unit, 10, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "UnitId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ItemFieldIndex.UnitId, 0, 0, 10);
			this.AddElementFieldInfo("ItemEntity", "UnitType", typeof(System.String), false, false, false, true,  (int)ItemFieldIndex.UnitType, 10, 0, 0);
			this.AddElementFieldInfo("ItemEntity", "UnitTypeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ItemFieldIndex.UnitTypeId, 0, 0, 10);
			this.AddElementFieldInfo("ItemEntity", "Volume", typeof(System.Int32), false, false, false, false,  (int)ItemFieldIndex.Volume, 0, 0, 10);
			this.AddElementFieldInfo("ItemEntity", "Weight", typeof(System.Decimal), false, false, false, false,  (int)ItemFieldIndex.Weight, 0, 5, 18);
		}
		/// <summary>Inits ItemSupplierEntity's FieldInfo objects</summary>
		private void InitItemSupplierEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ItemSupplierFieldIndex), "ItemSupplierEntity");
			this.AddElementFieldInfo("ItemSupplierEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ItemSupplierFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ItemSupplierEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)ItemSupplierFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("ItemSupplierEntity", "SupplierId", typeof(System.Int32), false, true, false, false,  (int)ItemSupplierFieldIndex.SupplierId, 0, 0, 10);
		}
		/// <summary>Inits ItemTypeEntity's FieldInfo objects</summary>
		private void InitItemTypeEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ItemTypeFieldIndex), "ItemTypeEntity");
			this.AddElementFieldInfo("ItemTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ItemTypeFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ItemTypeEntity", "Name", typeof(System.String), false, false, false, false,  (int)ItemTypeFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("ItemTypeEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)ItemTypeFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits ProjectEntity's FieldInfo objects</summary>
		private void InitProjectEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ProjectFieldIndex), "ProjectEntity");
			this.AddElementFieldInfo("ProjectEntity", "ActualEndDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ProjectFieldIndex.ActualEndDate, 0, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "ActualStartDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ProjectFieldIndex.ActualStartDate, 0, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "Code", typeof(System.String), false, false, false, false,  (int)ProjectFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ProjectFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ProjectEntity", "IsGeneral", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)ProjectFieldIndex.IsGeneral, 0, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "Manager", typeof(System.String), false, false, false, true,  (int)ProjectFieldIndex.Manager, 100, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "ManagerId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ProjectFieldIndex.ManagerId, 0, 0, 10);
			this.AddElementFieldInfo("ProjectEntity", "Name", typeof(System.String), false, false, false, false,  (int)ProjectFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "PlannedEndDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ProjectFieldIndex.PlannedEndDate, 0, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "PlannedStartDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)ProjectFieldIndex.PlannedStartDate, 0, 0, 0);
			this.AddElementFieldInfo("ProjectEntity", "Status", typeof(System.String), false, false, false, true,  (int)ProjectFieldIndex.Status, 10, 0, 0);
		}
		/// <summary>Inits ProjectContractorEntity's FieldInfo objects</summary>
		private void InitProjectContractorEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ProjectContractorFieldIndex), "ProjectContractorEntity");
			this.AddElementFieldInfo("ProjectContractorEntity", "ContractorId", typeof(System.Int32), false, true, false, false,  (int)ProjectContractorFieldIndex.ContractorId, 0, 0, 10);
			this.AddElementFieldInfo("ProjectContractorEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ProjectContractorFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ProjectContractorEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)ProjectContractorFieldIndex.ProjectId, 0, 0, 10);
		}
		/// <summary>Inits ProjectItemPlanEntity's FieldInfo objects</summary>
		private void InitProjectItemPlanEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ProjectItemPlanFieldIndex), "ProjectItemPlanEntity");
			this.AddElementFieldInfo("ProjectItemPlanEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ProjectItemPlanFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ProjectItemPlanEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)ProjectItemPlanFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("ProjectItemPlanEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)ProjectItemPlanFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("ProjectItemPlanEntity", "Quantity", typeof(System.Decimal), false, false, false, false,  (int)ProjectItemPlanFieldIndex.Quantity, 0, 5, 18);
			this.AddElementFieldInfo("ProjectItemPlanEntity", "Unit", typeof(System.String), false, false, false, false,  (int)ProjectItemPlanFieldIndex.Unit, 10, 0, 0);
		}
		/// <summary>Inits RetrievalTransactionEntity's FieldInfo objects</summary>
		private void InitRetrievalTransactionEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(RetrievalTransactionFieldIndex), "RetrievalTransactionEntity");
			this.AddElementFieldInfo("RetrievalTransactionEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)RetrievalTransactionFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("RetrievalTransactionEntity", "Recipient", typeof(System.String), false, false, false, false,  (int)RetrievalTransactionFieldIndex.Recipient, 50, 0, 0);
			this.AddElementFieldInfo("RetrievalTransactionEntity", "TransactionId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)RetrievalTransactionFieldIndex.TransactionId, 0, 0, 10);
			this.AddElementFieldInfo("RetrievalTransactionEntity", "TransactionStatus", typeof(System.Int16), false, false, false, false,  (int)RetrievalTransactionFieldIndex.TransactionStatus, 0, 0, 5);
			this.AddElementFieldInfo("RetrievalTransactionEntity", "WithdrawTransactionId", typeof(System.Int32), false, true, false, false,  (int)RetrievalTransactionFieldIndex.WithdrawTransactionId, 0, 0, 10);
		}
		/// <summary>Inits RoleEntity's FieldInfo objects</summary>
		private void InitRoleEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(RoleFieldIndex), "RoleEntity");
			this.AddElementFieldInfo("RoleEntity", "CanAddBcode", typeof(System.Boolean), false, false, false, false,  (int)RoleFieldIndex.CanAddBcode, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddContractor", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.CanAddContractor, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddItem", typeof(System.Boolean), false, false, false, false,  (int)RoleFieldIndex.CanAddItem, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddPrice", typeof(System.Boolean), false, false, false, false,  (int)RoleFieldIndex.CanAddPrice, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddProject", typeof(System.Boolean), false, false, false, false,  (int)RoleFieldIndex.CanAddProject, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddRole", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.CanAddRole, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddStore", typeof(System.Boolean), false, false, false, false,  (int)RoleFieldIndex.CanAddStore, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddSupplier", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.CanAddSupplier, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAddUser", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.CanAddUser, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanAudit", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.CanAudit, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "CanUseHandHeld", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.CanUseHandHeld, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "Code", typeof(System.String), false, false, false, false,  (int)RoleFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)RoleFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("RoleEntity", "Name", typeof(System.String), false, false, false, false,  (int)RoleFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "Viewreports", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.Viewreports, 0, 0, 0);
			this.AddElementFieldInfo("RoleEntity", "ViewWorkshop", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)RoleFieldIndex.ViewWorkshop, 0, 0, 0);
		}
		/// <summary>Inits ShelfEntity's FieldInfo objects</summary>
		private void InitShelfEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ShelfFieldIndex), "ShelfEntity");
			this.AddElementFieldInfo("ShelfEntity", "BarCode", typeof(System.String), false, false, false, true,  (int)ShelfFieldIndex.BarCode, 2147483647, 0, 0);
			this.AddElementFieldInfo("ShelfEntity", "Code", typeof(System.String), false, false, false, false,  (int)ShelfFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("ShelfEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ShelfFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ShelfEntity", "OriginalBarCode", typeof(System.String), false, false, false, true,  (int)ShelfFieldIndex.OriginalBarCode, 2147483647, 0, 0);
			this.AddElementFieldInfo("ShelfEntity", "Size", typeof(Nullable<System.Int32>), false, false, false, true,  (int)ShelfFieldIndex.Size, 0, 0, 10);
			this.AddElementFieldInfo("ShelfEntity", "StoreId", typeof(System.Int32), false, true, false, false,  (int)ShelfFieldIndex.StoreId, 0, 0, 10);
			this.AddElementFieldInfo("ShelfEntity", "Type", typeof(System.String), false, false, false, true,  (int)ShelfFieldIndex.Type, 10, 0, 0);
			this.AddElementFieldInfo("ShelfEntity", "TypeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)ShelfFieldIndex.TypeId, 0, 0, 10);
		}
		/// <summary>Inits ShelfTypeEntity's FieldInfo objects</summary>
		private void InitShelfTypeEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ShelfTypeFieldIndex), "ShelfTypeEntity");
			this.AddElementFieldInfo("ShelfTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)ShelfTypeFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ShelfTypeEntity", "Name", typeof(System.String), false, false, false, false,  (int)ShelfTypeFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("ShelfTypeEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)ShelfTypeFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits StoreEntity's FieldInfo objects</summary>
		private void InitStoreEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(StoreFieldIndex), "StoreEntity");
			this.AddElementFieldInfo("StoreEntity", "Code", typeof(System.String), false, false, false, false,  (int)StoreFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("StoreEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)StoreFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("StoreEntity", "IsPrimary", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)StoreFieldIndex.IsPrimary, 0, 0, 0);
			this.AddElementFieldInfo("StoreEntity", "Name", typeof(System.String), false, false, false, false,  (int)StoreFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("StoreEntity", "OccupancyRate", typeof(System.Decimal), false, false, false, false,  (int)StoreFieldIndex.OccupancyRate, 0, 5, 18);
			this.AddElementFieldInfo("StoreEntity", "ParentStoreId", typeof(Nullable<System.Int32>), false, false, false, true,  (int)StoreFieldIndex.ParentStoreId, 0, 0, 10);
			this.AddElementFieldInfo("StoreEntity", "ProjectId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)StoreFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("StoreEntity", "TotalSize", typeof(System.Decimal), false, false, false, false,  (int)StoreFieldIndex.TotalSize, 0, 5, 18);
			this.AddElementFieldInfo("StoreEntity", "Type", typeof(System.String), false, false, false, true,  (int)StoreFieldIndex.Type, 10, 0, 0);
		}
		/// <summary>Inits StorekeeperEntity's FieldInfo objects</summary>
		private void InitStorekeeperEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(StorekeeperFieldIndex), "StorekeeperEntity");
			this.AddElementFieldInfo("StorekeeperEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)StorekeeperFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("StorekeeperEntity", "KeeperId", typeof(System.Int32), false, true, false, false,  (int)StorekeeperFieldIndex.KeeperId, 0, 0, 10);
			this.AddElementFieldInfo("StorekeeperEntity", "StoreId", typeof(System.Int32), false, true, false, false,  (int)StorekeeperFieldIndex.StoreId, 0, 0, 10);
		}
		/// <summary>Inits StoreShelfBalanceEntity's FieldInfo objects</summary>
		private void InitStoreShelfBalanceEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(StoreShelfBalanceFieldIndex), "StoreShelfBalanceEntity");
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "Balance", typeof(System.Decimal), false, false, false, false,  (int)StoreShelfBalanceFieldIndex.Balance, 0, 5, 18);
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)StoreShelfBalanceFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)StoreShelfBalanceFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)StoreShelfBalanceFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "ShelfId", typeof(System.Int32), false, true, false, false,  (int)StoreShelfBalanceFieldIndex.ShelfId, 0, 0, 10);
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "StoreId", typeof(System.Int32), false, true, false, false,  (int)StoreShelfBalanceFieldIndex.StoreId, 0, 0, 10);
			this.AddElementFieldInfo("StoreShelfBalanceEntity", "UnitPrice", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)StoreShelfBalanceFieldIndex.UnitPrice, 0, 5, 18);
		}
		/// <summary>Inits SupplierEntity's FieldInfo objects</summary>
		private void InitSupplierEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(SupplierFieldIndex), "SupplierEntity");
			this.AddElementFieldInfo("SupplierEntity", "AccountingNumber", typeof(System.String), false, false, false, false,  (int)SupplierFieldIndex.AccountingNumber, 50, 0, 0);
			this.AddElementFieldInfo("SupplierEntity", "Address", typeof(System.String), false, false, false, true,  (int)SupplierFieldIndex.Address, 200, 0, 0);
			this.AddElementFieldInfo("SupplierEntity", "Code", typeof(System.String), false, false, false, false,  (int)SupplierFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("SupplierEntity", "ContactPerson", typeof(System.String), false, false, false, true,  (int)SupplierFieldIndex.ContactPerson, 50, 0, 0);
			this.AddElementFieldInfo("SupplierEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)SupplierFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("SupplierEntity", "Name", typeof(System.String), false, false, false, false,  (int)SupplierFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("SupplierEntity", "PhoneNumber", typeof(System.String), false, false, false, true,  (int)SupplierFieldIndex.PhoneNumber, 20, 0, 0);
		}
		/// <summary>Inits SupplyOrderEntity's FieldInfo objects</summary>
		private void InitSupplyOrderEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(SupplyOrderFieldIndex), "SupplyOrderEntity");
			this.AddElementFieldInfo("SupplyOrderEntity", "AdditionalDiscount", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)SupplyOrderFieldIndex.AdditionalDiscount, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderEntity", "Comment", typeof(System.String), false, false, false, true,  (int)SupplyOrderFieldIndex.Comment, 500, 0, 0);
			this.AddElementFieldInfo("SupplyOrderEntity", "CreatedBy", typeof(System.Int32), false, true, false, false,  (int)SupplyOrderFieldIndex.CreatedBy, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderEntity", "CreatedOn", typeof(System.DateTime), false, false, false, false,  (int)SupplyOrderFieldIndex.CreatedOn, 0, 0, 0);
			this.AddElementFieldInfo("SupplyOrderEntity", "CurrencyId", typeof(System.Int32), false, true, false, false,  (int)SupplyOrderFieldIndex.CurrencyId, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderEntity", "CurrencyRate", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderFieldIndex.CurrencyRate, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderEntity", "Date", typeof(System.DateTime), false, false, false, false,  (int)SupplyOrderFieldIndex.Date, 0, 0, 0);
			this.AddElementFieldInfo("SupplyOrderEntity", "DiscountPercentage", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)SupplyOrderFieldIndex.DiscountPercentage, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)SupplyOrderFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderEntity", "InsuranceCost", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)SupplyOrderFieldIndex.InsuranceCost, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderEntity", "IsProcessed", typeof(System.Boolean), false, false, false, false,  (int)SupplyOrderFieldIndex.IsProcessed, 0, 0, 0);
			this.AddElementFieldInfo("SupplyOrderEntity", "OtherCosts", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)SupplyOrderFieldIndex.OtherCosts, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)SupplyOrderFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderEntity", "ShippingCost", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)SupplyOrderFieldIndex.ShippingCost, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderEntity", "SupplierId", typeof(System.Int32), false, true, false, false,  (int)SupplyOrderFieldIndex.SupplierId, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderEntity", "SupplyOrderNumber", typeof(System.String), false, false, false, false,  (int)SupplyOrderFieldIndex.SupplyOrderNumber, 20, 0, 0);
			this.AddElementFieldInfo("SupplyOrderEntity", "TotalCost", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderFieldIndex.TotalCost, 0, 5, 18);
		}
		/// <summary>Inits SupplyOrderItemEntity's FieldInfo objects</summary>
		private void InitSupplyOrderItemEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(SupplyOrderItemFieldIndex), "SupplyOrderItemEntity");
			this.AddElementFieldInfo("SupplyOrderItemEntity", "DeliveredQuantity", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderItemFieldIndex.DeliveredQuantity, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)SupplyOrderItemFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)SupplyOrderItemFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "LastDeliveryDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)SupplyOrderItemFieldIndex.LastDeliveryDate, 0, 0, 0);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "Quantity", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderItemFieldIndex.Quantity, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "SupplyOrderId", typeof(System.Int32), false, true, false, false,  (int)SupplyOrderItemFieldIndex.SupplyOrderId, 0, 0, 10);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "UnitCost", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderItemFieldIndex.UnitCost, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "UnitDiscount", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderItemFieldIndex.UnitDiscount, 0, 5, 18);
			this.AddElementFieldInfo("SupplyOrderItemEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)SupplyOrderItemFieldIndex.UnitPrice, 0, 5, 18);
		}
		/// <summary>Inits TransactionEntity's FieldInfo objects</summary>
		private void InitTransactionEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(TransactionFieldIndex), "TransactionEntity");
			this.AddElementFieldInfo("TransactionEntity", "CreatedBy", typeof(System.Int32), false, false, false, false,  (int)TransactionFieldIndex.CreatedBy, 0, 0, 10);
			this.AddElementFieldInfo("TransactionEntity", "CreatedOn", typeof(System.DateTime), false, false, false, false,  (int)TransactionFieldIndex.CreatedOn, 0, 0, 0);
			this.AddElementFieldInfo("TransactionEntity", "Date", typeof(System.DateTime), false, false, false, false,  (int)TransactionFieldIndex.Date, 0, 0, 0);
			this.AddElementFieldInfo("TransactionEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)TransactionFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("TransactionEntity", "PermitNumber", typeof(System.String), false, false, false, true,  (int)TransactionFieldIndex.PermitNumber, 20, 0, 0);
			this.AddElementFieldInfo("TransactionEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)TransactionFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionEntity", "StoreId", typeof(Nullable<System.Int32>), false, false, false, true,  (int)TransactionFieldIndex.StoreId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionEntity", "Type", typeof(System.String), false, false, false, false,  (int)TransactionFieldIndex.Type, 10, 0, 0);
		}
		/// <summary>Inits TransactionItemEntity's FieldInfo objects</summary>
		private void InitTransactionItemEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(TransactionItemFieldIndex), "TransactionItemEntity");
			this.AddElementFieldInfo("TransactionItemEntity", "CurrentBalance", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)TransactionItemFieldIndex.CurrentBalance, 0, 5, 18);
			this.AddElementFieldInfo("TransactionItemEntity", "Expenses", typeof(System.Decimal), false, false, false, false,  (int)TransactionItemFieldIndex.Expenses, 0, 5, 18);
			this.AddElementFieldInfo("TransactionItemEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)TransactionItemFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("TransactionItemEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)TransactionItemFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionItemEntity", "LaborCost", typeof(System.Decimal), false, false, false, false,  (int)TransactionItemFieldIndex.LaborCost, 0, 5, 18);
			this.AddElementFieldInfo("TransactionItemEntity", "MoveType", typeof(System.String), false, false, false, true,  (int)TransactionItemFieldIndex.MoveType, 2, 0, 0);
			this.AddElementFieldInfo("TransactionItemEntity", "Quantity", typeof(System.Decimal), false, false, false, false,  (int)TransactionItemFieldIndex.Quantity, 0, 5, 18);
			this.AddElementFieldInfo("TransactionItemEntity", "RequestItemId", typeof(Nullable<System.Int32>), false, false, false, true,  (int)TransactionItemFieldIndex.RequestItemId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionItemEntity", "SellingPrice", typeof(System.Decimal), false, false, false, false,  (int)TransactionItemFieldIndex.SellingPrice, 0, 5, 18);
			this.AddElementFieldInfo("TransactionItemEntity", "ShelfId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)TransactionItemFieldIndex.ShelfId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionItemEntity", "StoreId", typeof(System.Int32), false, true, false, false,  (int)TransactionItemFieldIndex.StoreId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionItemEntity", "TransactionId", typeof(System.Int32), false, true, false, false,  (int)TransactionItemFieldIndex.TransactionId, 0, 0, 10);
			this.AddElementFieldInfo("TransactionItemEntity", "Unit", typeof(System.String), false, false, false, false,  (int)TransactionItemFieldIndex.Unit, 10, 0, 0);
			this.AddElementFieldInfo("TransactionItemEntity", "UnitPrice", typeof(System.Decimal), false, false, false, false,  (int)TransactionItemFieldIndex.UnitPrice, 0, 5, 18);
		}
		/// <summary>Inits TransferRequestEntity's FieldInfo objects</summary>
		private void InitTransferRequestEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(TransferRequestFieldIndex), "TransferRequestEntity");
			this.AddElementFieldInfo("TransferRequestEntity", "CreatedBy", typeof(System.Int32), false, true, false, false,  (int)TransferRequestFieldIndex.CreatedBy, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestEntity", "CreatedOn", typeof(System.DateTime), false, false, false, false,  (int)TransferRequestFieldIndex.CreatedOn, 0, 0, 0);
			this.AddElementFieldInfo("TransferRequestEntity", "Date", typeof(System.DateTime), false, false, false, false,  (int)TransferRequestFieldIndex.Date, 0, 0, 0);
			this.AddElementFieldInfo("TransferRequestEntity", "FromStoreId", typeof(System.Int32), false, true, false, false,  (int)TransferRequestFieldIndex.FromStoreId, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)TransferRequestFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestEntity", "IsProcessed", typeof(System.Boolean), false, false, false, false,  (int)TransferRequestFieldIndex.IsProcessed, 0, 0, 0);
			this.AddElementFieldInfo("TransferRequestEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)TransferRequestFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestEntity", "RequestNumber", typeof(System.String), false, false, false, false,  (int)TransferRequestFieldIndex.RequestNumber, 20, 0, 0);
			this.AddElementFieldInfo("TransferRequestEntity", "ToProjectId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)TransferRequestFieldIndex.ToProjectId, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestEntity", "ToStoreId", typeof(System.Int32), false, true, false, false,  (int)TransferRequestFieldIndex.ToStoreId, 0, 0, 10);
		}
		/// <summary>Inits TransferRequestItemEntity's FieldInfo objects</summary>
		private void InitTransferRequestItemEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(TransferRequestItemFieldIndex), "TransferRequestItemEntity");
			this.AddElementFieldInfo("TransferRequestItemEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)TransferRequestItemFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestItemEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)TransferRequestItemFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestItemEntity", "LastDeliveryDate", typeof(Nullable<System.DateTime>), false, false, false, true,  (int)TransferRequestItemFieldIndex.LastDeliveryDate, 0, 0, 0);
			this.AddElementFieldInfo("TransferRequestItemEntity", "Quantity", typeof(System.Decimal), false, false, false, false,  (int)TransferRequestItemFieldIndex.Quantity, 0, 5, 18);
			this.AddElementFieldInfo("TransferRequestItemEntity", "SellingPrice", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)TransferRequestItemFieldIndex.SellingPrice, 0, 5, 18);
			this.AddElementFieldInfo("TransferRequestItemEntity", "TransferRequestId", typeof(System.Int32), false, true, false, false,  (int)TransferRequestItemFieldIndex.TransferRequestId, 0, 0, 10);
			this.AddElementFieldInfo("TransferRequestItemEntity", "WithdawedQuantity", typeof(Nullable<System.Decimal>), false, false, false, true,  (int)TransferRequestItemFieldIndex.WithdawedQuantity, 0, 5, 18);
		}
		/// <summary>Inits TransferTransactionEntity's FieldInfo objects</summary>
		private void InitTransferTransactionEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(TransferTransactionFieldIndex), "TransferTransactionEntity");
			this.AddElementFieldInfo("TransferTransactionEntity", "FromStoreId", typeof(System.Int32), false, true, false, false,  (int)TransferTransactionFieldIndex.FromStoreId, 0, 0, 10);
			this.AddElementFieldInfo("TransferTransactionEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)TransferTransactionFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("TransferTransactionEntity", "ToStoreId", typeof(System.Int32), false, true, false, false,  (int)TransferTransactionFieldIndex.ToStoreId, 0, 0, 10);
			this.AddElementFieldInfo("TransferTransactionEntity", "TransactionId", typeof(System.Int32), false, true, false, false,  (int)TransferTransactionFieldIndex.TransactionId, 0, 0, 10);
			this.AddElementFieldInfo("TransferTransactionEntity", "Type", typeof(System.String), false, false, false, false,  (int)TransferTransactionFieldIndex.Type, 10, 0, 0);
		}
		/// <summary>Inits UnitEntity's FieldInfo objects</summary>
		private void InitUnitEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(UnitFieldIndex), "UnitEntity");
			this.AddElementFieldInfo("UnitEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)UnitFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("UnitEntity", "Name", typeof(System.String), false, false, false, false,  (int)UnitFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("UnitEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)UnitFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits UnitConverterEntity's FieldInfo objects</summary>
		private void InitUnitConverterEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(UnitConverterFieldIndex), "UnitConverterEntity");
			this.AddElementFieldInfo("UnitConverterEntity", "FromUnitId", typeof(System.Int32), false, true, false, false,  (int)UnitConverterFieldIndex.FromUnitId, 0, 0, 10);
			this.AddElementFieldInfo("UnitConverterEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)UnitConverterFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("UnitConverterEntity", "Rate", typeof(System.Decimal), false, false, false, false,  (int)UnitConverterFieldIndex.Rate, 0, 5, 18);
			this.AddElementFieldInfo("UnitConverterEntity", "ToUnitId", typeof(System.Int32), false, true, false, false,  (int)UnitConverterFieldIndex.ToUnitId, 0, 0, 10);
		}
		/// <summary>Inits UnitTypeEntity's FieldInfo objects</summary>
		private void InitUnitTypeEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(UnitTypeFieldIndex), "UnitTypeEntity");
			this.AddElementFieldInfo("UnitTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)UnitTypeFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("UnitTypeEntity", "Name", typeof(System.String), false, false, false, false,  (int)UnitTypeFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("UnitTypeEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)UnitTypeFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits UserEntity's FieldInfo objects</summary>
		private void InitUserEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(UserFieldIndex), "UserEntity");
			this.AddElementFieldInfo("UserEntity", "Code", typeof(System.String), false, false, false, false,  (int)UserFieldIndex.Code, 50, 0, 0);
			this.AddElementFieldInfo("UserEntity", "Email", typeof(System.String), false, false, false, false,  (int)UserFieldIndex.Email, 50, 0, 0);
			this.AddElementFieldInfo("UserEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)UserFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("UserEntity", "Name", typeof(System.String), false, false, false, false,  (int)UserFieldIndex.Name, 100, 0, 0);
			this.AddElementFieldInfo("UserEntity", "Password", typeof(System.String), false, false, false, true,  (int)UserFieldIndex.Password, 50, 0, 0);
			this.AddElementFieldInfo("UserEntity", "Salt", typeof(System.String), false, false, false, true,  (int)UserFieldIndex.Salt, 50, 0, 0);
			this.AddElementFieldInfo("UserEntity", "UserName", typeof(System.String), false, false, false, false,  (int)UserFieldIndex.UserName, 10, 0, 0);
		}
		/// <summary>Inits UserRoleEntity's FieldInfo objects</summary>
		private void InitUserRoleEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(UserRoleFieldIndex), "UserRoleEntity");
			this.AddElementFieldInfo("UserRoleEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)UserRoleFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("UserRoleEntity", "RoleId", typeof(System.Int32), false, true, false, false,  (int)UserRoleFieldIndex.RoleId, 0, 0, 10);
			this.AddElementFieldInfo("UserRoleEntity", "UserId", typeof(System.Int32), false, true, false, false,  (int)UserRoleFieldIndex.UserId, 0, 0, 10);
		}
		/// <summary>Inits WithdrawalTypeEntity's FieldInfo objects</summary>
		private void InitWithdrawalTypeEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(WithdrawalTypeFieldIndex), "WithdrawalTypeEntity");
			this.AddElementFieldInfo("WithdrawalTypeEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)WithdrawalTypeFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawalTypeEntity", "Name", typeof(System.String), false, false, false, false,  (int)WithdrawalTypeFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("WithdrawalTypeEntity", "Order", typeof(System.Int16), false, false, false, false,  (int)WithdrawalTypeFieldIndex.Order, 0, 0, 5);
		}
		/// <summary>Inits WithdrawRequestEntity's FieldInfo objects</summary>
		private void InitWithdrawRequestEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(WithdrawRequestFieldIndex), "WithdrawRequestEntity");
			this.AddElementFieldInfo("WithdrawRequestEntity", "AccountantId", typeof(System.Int32), false, true, false, false,  (int)WithdrawRequestFieldIndex.AccountantId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestEntity", "ContractorId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)WithdrawRequestFieldIndex.ContractorId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestEntity", "CreatedBy", typeof(System.Int32), false, true, false, false,  (int)WithdrawRequestFieldIndex.CreatedBy, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestEntity", "CreatedOn", typeof(System.DateTime), false, false, false, false,  (int)WithdrawRequestFieldIndex.CreatedOn, 0, 0, 0);
			this.AddElementFieldInfo("WithdrawRequestEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)WithdrawRequestFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestEntity", "IsApproved", typeof(System.Boolean), false, false, false, false,  (int)WithdrawRequestFieldIndex.IsApproved, 0, 0, 0);
			this.AddElementFieldInfo("WithdrawRequestEntity", "ProjectId", typeof(System.Int32), false, true, false, false,  (int)WithdrawRequestFieldIndex.ProjectId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestEntity", "RequestDate", typeof(System.DateTime), false, false, false, false,  (int)WithdrawRequestFieldIndex.RequestDate, 0, 0, 0);
			this.AddElementFieldInfo("WithdrawRequestEntity", "RequestNumber", typeof(System.String), false, false, false, false,  (int)WithdrawRequestFieldIndex.RequestNumber, 20, 0, 0);
			this.AddElementFieldInfo("WithdrawRequestEntity", "Type", typeof(System.String), false, false, false, false,  (int)WithdrawRequestFieldIndex.Type, 10, 0, 0);
			this.AddElementFieldInfo("WithdrawRequestEntity", "WithdrawalTypeId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)WithdrawRequestFieldIndex.WithdrawalTypeId, 0, 0, 10);
		}
		/// <summary>Inits WithdrawRequestItemEntity's FieldInfo objects</summary>
		private void InitWithdrawRequestItemEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(WithdrawRequestItemFieldIndex), "WithdrawRequestItemEntity");
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "ApprovedQuantity", typeof(System.Decimal), false, false, false, false,  (int)WithdrawRequestItemFieldIndex.ApprovedQuantity, 0, 5, 18);
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)WithdrawRequestItemFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "ItemId", typeof(System.Int32), false, true, false, false,  (int)WithdrawRequestItemFieldIndex.ItemId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "RequestedQuantity", typeof(System.Decimal), false, false, false, false,  (int)WithdrawRequestItemFieldIndex.RequestedQuantity, 0, 5, 18);
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "RetrievedQuantity", typeof(System.Decimal), false, false, false, false,  (int)WithdrawRequestItemFieldIndex.RetrievedQuantity, 0, 5, 18);
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "WithdawedQuantity", typeof(System.Decimal), false, false, false, false,  (int)WithdrawRequestItemFieldIndex.WithdawedQuantity, 0, 5, 18);
			this.AddElementFieldInfo("WithdrawRequestItemEntity", "WithdrawRequestId", typeof(System.Int32), false, true, false, false,  (int)WithdrawRequestItemFieldIndex.WithdrawRequestId, 0, 0, 10);
		}
		/// <summary>Inits WithdrawTransactionEntity's FieldInfo objects</summary>
		private void InitWithdrawTransactionEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(WithdrawTransactionFieldIndex), "WithdrawTransactionEntity");
			this.AddElementFieldInfo("WithdrawTransactionEntity", "AccountantId", typeof(System.Int32), false, true, false, false,  (int)WithdrawTransactionFieldIndex.AccountantId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "ContractorId", typeof(Nullable<System.Int32>), false, true, false, true,  (int)WithdrawTransactionFieldIndex.ContractorId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)WithdrawTransactionFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "IsPriced", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)WithdrawTransactionFieldIndex.IsPriced, 0, 0, 0);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "Recipient", typeof(System.String), false, false, false, false,  (int)WithdrawTransactionFieldIndex.Recipient, 50, 0, 0);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "TransactionId", typeof(System.Int32), false, true, false, false,  (int)WithdrawTransactionFieldIndex.TransactionId, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "TransactionStatus", typeof(Nullable<System.Int16>), false, false, false, true,  (int)WithdrawTransactionFieldIndex.TransactionStatus, 0, 0, 5);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "Type", typeof(System.String), false, false, false, false,  (int)WithdrawTransactionFieldIndex.Type, 10, 0, 0);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "UseOtherProjects", typeof(Nullable<System.Boolean>), false, false, false, true,  (int)WithdrawTransactionFieldIndex.UseOtherProjects, 0, 0, 0);
			this.AddElementFieldInfo("WithdrawTransactionEntity", "Wrnumber", typeof(System.String), false, false, false, false,  (int)WithdrawTransactionFieldIndex.Wrnumber, 20, 0, 0);
		}
		/// <summary>Inits WithdrawzPartyEntity's FieldInfo objects</summary>
		private void InitWithdrawzPartyEntityInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(WithdrawzPartyFieldIndex), "WithdrawzPartyEntity");
			this.AddElementFieldInfo("WithdrawzPartyEntity", "Id", typeof(System.Int32), true, false, true, false,  (int)WithdrawzPartyFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("WithdrawzPartyEntity", "Name", typeof(System.String), false, false, false, true,  (int)WithdrawzPartyFieldIndex.Name, 20, 0, 0);
			this.AddElementFieldInfo("WithdrawzPartyEntity", "Order", typeof(Nullable<System.Int32>), false, false, false, true,  (int)WithdrawzPartyFieldIndex.Order, 0, 0, 10);
		}

		/// <summary>Inits View's FieldInfo objects</summary>
		private void InitItemViewTypedViewInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(ItemViewFieldIndex), "ItemViewTypedView");
			this.AddElementFieldInfo("ItemViewTypedView", "Id", typeof(System.Int32), false, false, true, false, (int)ItemViewFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("ItemViewTypedView", "NameCodeUnit", typeof(System.String), false, false, true, false, (int)ItemViewFieldIndex.NameCodeUnit, 182, 0, 0);
			this.AddElementFieldInfo("ItemViewTypedView", "CodeNameUnit", typeof(System.String), false, false, true, false, (int)ItemViewFieldIndex.CodeNameUnit, 183, 0, 0);
			this.AddElementFieldInfo("ItemViewTypedView", "TypeId", typeof(System.Int32), false, false, true, false, (int)ItemViewFieldIndex.TypeId, 0, 0, 10);
		}
		/// <summary>Inits View's FieldInfo objects</summary>
		private void InitLookupTypedViewInfos()
		{
			this.AddFieldIndexEnumForElementName(typeof(LookupFieldIndex), "LookupTypedView");
			this.AddElementFieldInfo("LookupTypedView", "Id", typeof(System.Int32), false, false, true, false, (int)LookupFieldIndex.Id, 0, 0, 10);
			this.AddElementFieldInfo("LookupTypedView", "Name", typeof(System.String), false, false, true, false, (int)LookupFieldIndex.Name, 53, 0, 0);
			this.AddElementFieldInfo("LookupTypedView", "Order", typeof(System.Int16), false, false, true, false, (int)LookupFieldIndex.Order, 0, 0, 5);
			this.AddElementFieldInfo("LookupTypedView", "Type", typeof(System.String), false, false, true, false, (int)LookupFieldIndex.Type, 2, 0, 0);
		}		
	}
}




